perm filename NUM[AM,DBL]2 blob sn#209290 filedate 1976-04-07 generic text, type T, neo UTF8
(FILECREATED "16-MAR-76 03:59:11" <LENAT>NUM.;5 22353  

     changes to:  NUMCONS

     previous date: "14-MAR-76 23:10:15" <LENAT>NUM.;4)


  (LISPXPRINT (QUOTE NUMCOMS)
	      T T)
  [RPAQQ NUMCOMS (NUMCONS [COMS * (LIST (CONS (QUOTE IFPROP)
					      (CONS (QUOTE ALL)
						    NUMCONS]
			  (P (NUM-WTS)
			     (MAPC NUMCONS (QUOTE NEW-CON]
  (RPAQQ NUMCONS
	 (ADD ADD-FACTOR BAG-OF-EVENS BAG-OF-NUMBERS BAG-OF-ODDS BAG-OF-PRIMES BAG-OF-SQUARES BAG-STRUC CROSS-PRODUCT 
	      DECREMENT DIVIDE DOUBLE EVENS FACTOR INCREMENT INV-ADD INV-DOUBLE INV-MULTIPLY INV-SQUARE LIST-STRUC MAXI 
	      MINI MULTIPLY NUMBER OBJ-EQUAL ODDS OSET-STRUC PRIMES SET-OF-BAGS-OF-NUMBERS SET-STRUC SINGLETON SQUARE 
	      SQUARES SUBTRACT))
  (PUTPROPS ADD WORTH (400 100 0 200) 
                ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IPLUS BA1 BA2))) 
                D-R ((NUMBER NUMBER NUMBER)) 
                GUP (OPERATION INVERTED-OP) 
                UP (OPERATION INVERTED-OP ACTIVE) 
                SPEC (DOUBLE INCREMENT) 
                DEFN [[TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							   (NUMBERP BA2)
							   (EQUAL BA3 (IPLUS BA1 BA2]
		      (TYPE QUASIRECURSIVE ANALOGY REDUCING-TO BAG-STRUC-JOIN (EQUAL BA3
										     (APPLYB
										       (QUOTE OBJECT)
										       (QUOTE VIEW)
										       (QUOTE NUMBER)
										       (APPLYB (QUOTE BAG-STRUC-JOIN)
											       (QUOTE ALGS)
											       (APPLYB (QUOTE OBJECT)
												       (QUOTE VIEW)
												       (QUOTE STRUCTURE)
												       BA1)
											       (APPLYB (QUOTE OBJECT)
												       (QUOTE VIEW)
												       (QUOTE STRUCTURE)
												       BA2] 
                INV (INV-ADD ADD-FACTOR SUBTRACT))
  (PUTPROPS ADD-FACTOR WORTH (300 100 0 200) 
                       ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IAD2 BA1))) 
                       D-R ((NUMBER SET-OF-BAGS-OF-NUMBERS)) 
                       GUP (OPERATION INVERTED-OP) 
                       UP (OPERATION INVERTED-OP ACTIVE) 
                       DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
								  (EQUAL BA2 (IAD2 BA1] 
                       INV (ADD))
  (PUTPROPS BAG-OF-EVENS GENL (BAG-OF-NUMBERS) 
                         WORTH (100 300) 
                         DEFN [(TYPE QUASIRECURSIVE (EACH-ISA BA1 (QUOTE EVENS] 
                         UP-NOT (ACTIVE))
  (PUTPROPS BAG-OF-NUMBERS GENL (BAG-STRUC) 
                           WORTH (400 300) 
                           DEFN [(TYPE NONRECURSIVE (EACH-ISA BA1 (QUOTE NUMBER] 
                           SPEC (BAG-OF-PRIMES BAG-OF-EVENS BAG-OF-ODDS BAG-OF-SQUARES) 
                           UP-NOT (ACTIVE))
  (PUTPROPS BAG-OF-ODDS GENL (BAG-OF-NUMBERS) 
                        WORTH (50 300) 
                        DEFN [(TYPE QUASIRECURSIVE (EACH-ISA BA1 (QUOTE ODDS] 
                        UP-NOT (ACTIVE))
  (PUTPROPS BAG-OF-PRIMES GENL (BAG-OF-NUMBERS) 
                          WORTH (400 300) 
                          DEFN [(TYPE QUASIRECURSIVE (EACH-ISA BA1 (QUOTE PRIMES] 
                          UP-NOT (ACTIVE))
  (PUTPROPS BAG-OF-SQUARES GENL (BAG-OF-NUMBERS) 
                           WORTH (200 300) 
                           DEFN [(TYPE QUASIRECURSIVE (EACH-ISA BA1 (QUOTE SQUARES] 
                           UP-NOT (ACTIVE))
  (PUTPROPS BAG-STRUC GENL (UNORD-OBJ MULT-STRUC) 
                      WORTH (600 700) 
                      DEFN [(TYPE NONRECURSIVE (AND (LISTP BA1)
						    (EQ (CAR BA1)
							(QUOTE BAG] 
                      IN-DOM-OF (BAG-STRUC-INSERT BAG-STRUC-JOIN BAG-STRUC-DELETE BAG-STRUC-INTERSECT) 
                      IN-RAN-OF (BAG-STRUC-INSERT BAG-STRUC-JOIN BAG-STRUC-DELETE BAG-STRUC-INTERSECT) 
                      SPEC (BAG-OF-STRUCS BAG-OF-NUMBERS) 
                      UP (ANY-STRUC) 
                      EXS-BDY ((BAG)
			       (BAG 0)
			       (BAG 1)) 
                      EXS-NOT-BDY ((BAG B A)
				   (BAG (BAG)
					A)
				   (CLASS)) 
                      EXS-NOT ((VECTOR B A)
			       (OSET (BAG)
				     A)) 
                      EXS ((BAG)
			   (BAG A)
			   (BAG B)
			   (BAG A B)
			   (BAG A A)
			   (BAG 3 3 3 4)
			   (BAG 4 4 4)
			   (BAG A (BAG))
			   (BAG 2 4 (BAG A A B))) 
                      UP-NOT (ACTIVE))
  (PUTPROPS CROSS-PRODUCT WORTH (200 100 0 200) 
                          ALGS [(TYPE NONRECURSIVE (CONS (QUOTE BAG)
							 (SORT [MAPCONC (CDR BA1)
									(FUNCTION (LAMBDA
										    (X)
										    (MAPCAR (CDR BA2)
											    (FUNCTION
											      (LAMBDA
												(Y)
												(LIST (QUOTE PAIR)
												      X Y]
							       (QUOTE SORD] 
                          D-R ((STRUCTURE STRUCTURE BAG-STRUC)
			       (STRUCTURE STRUCTURE STRUCTURE)
			       (STRUCTURE STRUCTURE RELATION)) 
                          GUP (OPERATION) 
                          UP (OPERATION ACTIVE) 
                          DEFN [(TYPE NONRECURSIVE (AND (APPLY* (QUOTE DEFN)
								(QUOTE STRUCTURE)
								BA1)
							(APPLY* (QUOTE DEFN)
								(QUOTE STRUCTURE)
								BA2)
							(EQUAL BA3 (APPLYB (QUOTE CROSS-PRODUCT)
									   (QUOTE ALGS)
									   BA1 BA2])
  (PUTPROPS DECREMENT WORTH (50 100 0 200) 
                      ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (SUB1 BA1))) 
                      D-R ((NUMBER NUMBER)) 
                      GENL (SUBTRACT) 
                      DEFN ((TYPE QUASIRECURSIVE REDUCING-TO SUBTRACT (APPLYB (QUOTE SUBTRACT)
									      (QUOTE DEFN)
									      BA1 1 BA2))) 
                      INV (INCREMENT) 
                      UP (INVERTED-OP ACTIVE) 
                      GUP (INVERTED-OP))
  (PUTPROPS DIVIDE WORTH (200 100 0 200) 
                   ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IQUOTIENT BA1 BA2))) 
                   D-R ((NUMBER NUMBER NUMBER)) 
                   GUP (OPERATION INVERTED-OP) 
                   UP (OPERATION INVERTED-OP ACTIVE) 
                   DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							      (NUMBERP BA2)
							      (EQUAL BA3 (IQUOTIENT BA1 BA2] 
                   INV (MULTIPLY) 
                   SPEC (INV-DOUBLE))
  (PUTPROPS DOUBLE WORTH (100 100 0 200) 
                   ALGS ((TYPE QUASIRECURSIVE REDUCING-TO ADD (APPLYB (QUOTE ADD)
								      (QUOTE ALGS)
								      BA1 BA1))) 
                   D-R ((NUMBER EVENS)
			(NUMBER NUMBER)) 
                   GENL (ADD) 
                   DEFN ((TYPE QUASIRECURSIVE REDUCING-TO ADD (APPLYB (QUOTE ADD)
								      (QUOTE DEFN)
								      BA1 BA1 BA2))) 
                   INV (INV-DOUBLE) 
                   UP (INVERTED-OP ACTIVE) 
                   GUP (INVERTED-OP))
  (PUTPROPS EVENS GENL (NUMBER) 
                  IN-DOM-OF (INV-DOUBLE) 
                  WORTH (450 100) 
                  DEFN [(TYPE NONRECURSIVE OPAQUE (AND (NUMBERP BA1)
						       (ZEROP (IREMAINDER BA1 2] 
                  IN-RAN-OF (DOUBLE) 
                  EXS (6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40) 
                  EXS-BDY (0 2 4) 
                  EXS-NOT-BDY (1 3) 
                  EXS-NOT (7 23) 
                  UP-NOT (ACTIVE))
  (PUTPROPS FACTOR WORTH (500 100 0 200) 
                   ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IDI2 BA1))) 
                   D-R ((NUMBER SET-OF-BAGS-OF-NUMBERS)) 
                   GUP (OPERATION INVERTED-OP) 
                   UP (OPERATION INVERTED-OP ACTIVE) 
                   DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							      (EQUAL BA2 (IDI2 BA1] 
                   INV (MULTIPLY))
  (PUTPROPS INCREMENT WORTH (50 100 0 200) 
                      ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (ADD1 BA1))) 
                      D-R ((NUMBER NUMBER)) 
                      GENL (ADD) 
                      DEFN ((TYPE QUASIRECURSIVE REDUCING-TO ADD (APPLYB (QUOTE ADD)
									 (QUOTE DEFN)
									 BA1 1 BA2))) 
                      INV (DECREMENT) 
                      UP (INVERTED-OP ACTIVE) 
                      GUP (INVERTED-OP))
  (PUTPROPS INV-ADD WORTH (450 100 100 200) 
                    ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IAD3 BA1))) 
                    D-R ((NUMBER SET-OF-BAGS-OF-NUMBERS)) 
                    GUP (OPERATION INVERTED-OP) 
                    UP (OPERATION INVERTED-OP ACTIVE) 
                    DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							       (EQUAL BA2 (IAD3 BA1] 
                    INV (ADD))
  (PUTPROPS INV-DOUBLE WORTH (100 100 0 200) 
                       ALGS ((TYPE NONRECURSIVE (IQUOTIENT BA1 2))
			     (TYPE QUASIRECURSIVE REDUCING-TO DIVIDE (APPLYB (QUOTE DIVIDE)
									     (QUOTE ALGS)
									     BA1 2))) 
                       D-R ((EVENS NUMBER)) 
                       DEFN ((TYPE QUASIRECURSIVE REDUCING-TO DIVIDE (APPLYB (QUOTE DIVIDE)
									     (QUOTE DEFN)
									     BA1 2 BA2))) 
                       ENGN "Halve" 
                       GENL (DIVIDE) 
                       INV (DOUBLE) 
                       UP (INVERTED-OP ACTIVE) 
                       GUP (INVERTED-OP))
  (PUTPROPS INV-MULTIPLY WORTH (50 100 0 200) 
                         ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IDI3 BA1))) 
                         D-R ((NUMBER SET-OF-BAGS-OF-NUMBERS)) 
                         GUP (OPERATION INVERTED-OP) 
                         UP (OPERATION INVERTED-OP ACTIVE) 
                         DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
								    (EQUAL BA2 (IDI3 BA1] 
                         INV (MULTIPLY))
  (PUTPROPS INV-SQUARE WORTH (100 100 0 200) 
                       ALGS [(TYPE NONRECURSIVE (FIX (SQRT BA1] 
                       D-R ((SQUARES NUMBER)) 
                       GUP (OPERATION INVERTED-OP) 
                       UP (OPERATION INVERTED-OP ACTIVE) 
                       DEFN [(TYPE NONRECURSIVE (AND (APPLYB (QUOTE SQUARES)
							     (QUOTE DEFN)
							     BA1)
						     (APPLYB (QUOTE NUMBER)
							     (QUOTE DEFN)
							     BA2)
						     (EQUAL BA2 (APPLYB (QUOTE INV-SQUARE)
									(QUOTE ALGS)
									BA1] 
                       ENGN "Square-root" 
                       INV (SQUARE))
  (PUTPROPS LIST-STRUC GENL (ORD-OBJ MULT-STRUC) 
                       WORTH (300 200 700 50 400 990 900 1000 800 800 1000) 
                       DEFN [(TYPE NONRECURSIVE (AND (LISTP BA1)
						     (EQ (CAR BA1)
							 (QUOTE VECTOR] 
                       INTU [(CONS (QUOTE VECTOR)
				   (RAND-SUBSET USERNAMES))
			     (CONS (QUOTE VECTOR)
				   (APPEND (SETQ RB1 (RAND-SUBSET USERNAMES))
					   (RAND-SUBSET RB1)))
			     (CONS (QUOTE VECTOR)
				   (RAND-PERMUTE (RAND-SUBSET USERNAMES] 
                       IN-DOM-OF (LIST-STRUC-INSERT FIRST REAR FINAL LIST-STRUC-DELETE LIST-STRUC-INTERSECT) 
                       EXS ((VECTOR)
			    (VECTOR A)
			    (VECTOR B)
			    (VECTOR A B)
			    (VECTOR A A)
			    (VECTOR B A)
			    (VECTOR A A B)
			    (VECTOR D M I F 0)
			    (VECTOR 1 3 2 4 7)
			    (VECTOR 2 (BAG 2)
				    (CLASS)
				    A)) 
                       EXS-BDY ((VECTOR)
				(VECTOR BAG)) 
                       EXS-NOT-BDY ((BAG VECTOR)
				    (CLASS 2 3)) 
                       IN-RAN-OF (LIST-STRUC-DELETE LIST-STRUC-INSERT LIST-STRUC-INTERSECT) 
                       UP (ANY-STRUC) 
                       UP-NOT (ACTIVE))
  (PUTPROPS MAXI WORTH (100 100 0 200) 
                 ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (LARGER BA1 BA2))) 
                 D-R ((NUMBER NUMBER NUMBER)) 
                 GUP (OPERATION) 
                 UP (OPERATION ACTIVE) 
                 DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							    (NUMBERP BA2)
							    (EQUAL BA3 (LARGER BA1 BA2])
  (PUTPROPS MINI WORTH (150 100 0 200) 
                 ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (SMALLER BA1 BA2))) 
                 D-R ((NUMBER NUMBER NUMBER)) 
                 GUP (OPERATION) 
                 UP (OPERATION ACTIVE) 
                 DEFN [[TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							    (NUMBERP BA2)
							    (EQUAL BA3 (SMALLER BA1 BA2]
		       (TYPE QUASIRECURSIVE ANALOGY REDUCING-TO BAG-STRUC-DIFF
			     (EQUAL BA3 (APPLYB (QUOTE OBJECT)
						(QUOTE VIEW)
						(QUOTE NUMBER)
						(APPLYB (QUOTE BAG-STRUC-DIFF)
							(QUOTE ALGS)
							(APPLYB (QUOTE OBJECT)
								(QUOTE VIEW)
								(QUOTE STRUCTURE)
								BA1)
							(APPLYB (QUOTE OBJECT)
								(QUOTE VIEW)
								(QUOTE STRUCTURE)
								BA2])
  (PUTPROPS MULTIPLY WORTH (400 100 0 200) 
                     ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (TIMES BA1 BA2))) 
                     D-R ((NUMBER NUMBER NUMBER)) 
                     GUP (OPERATION INVERTED-OP) 
                     UP (OPERATION INVERTED-OP ACTIVE) 
                     SPEC (SQUARE) 
                     DEFN [[TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
								(NUMBERP BA2)
								(EQUAL BA3 (TIMES BA1 BA2]
			   (TYPE QUASIRECURSIVE ANALOGY REDUCING-TO CROSS-PRODUCT
				 (EQUAL BA3 (APPLYB (QUOTE OBJECT)
						    (QUOTE VIEW)
						    (QUOTE NUMBER)
						    (APPLYB (QUOTE CROSS-PRODUCT)
							    (QUOTE ALGS)
							    (APPLYB (QUOTE OBJECT)
								    (QUOTE VIEW)
								    (QUOTE STRUCTURE)
								    BA1)
							    (APPLYB (QUOTE OBJECT)
								    (QUOTE VIEW)
								    (QUOTE STRUCTURE)
								    BA2] 
                     INV (INV-MULTIPLY FACTOR DIVIDE))
  (PUTPROPS NUMBER CLISPISPROP (number NUMBERS numbers) 
                   CLISPISFORM ((X)
				(X IS A NUMBER)
				(NUMBERP X)) 
                   GENL (OBJECT) 
                   SPEC (EVENS ODDS PRIMES SQUARES) 
                   IN-DOM-OF (MULTIPLY DIVIDE ADD SUBTRACT FACTOR INV-ADD SQUARE INCREMENT DECREMENT MAXI MINI DOUBLE 
				       ADD-FACTOR) 
                   WORTH (700 500) 
                   VIEW ((STRUC-VU BA1 BA2)) 
                   DEFN ((TYPE NONRECURSIVE OPAQUE (NUMBERP BA1))) 
                   IN-RAN-OF (MULTIPLY DIVIDE ADD SUBTRACT SQUARE INCREMENT DECREMENT MAXI MINI INV-DOUBLE) 
                   UP (ANY-STRUC) 
                   EXS (4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31) 
                   EXS-BDY (0 1 2 3) 
                   EXS-NOT-BDY (NIL) 
                   EXS-NOT (T (BAG)) 
                   UP-NOT (ACTIVE))
  (PUTPROPS OBJ-EQUAL WORTH (500 500 666 50) 
                      ALGS [(TYPE NONRECURSIVE OPAQUE (EQUAL BA1 BA2))
			    (TYPE RECURSIVE MALLABLE (COND ((OR (NLISTP BA1)
								(NLISTP BA2))
							    (EQ BA1 BA2))
							   (T (AND (APPLYB (QUOTE OBJ-EQUAL)
									   (QUOTE ALGS)
									   (CAR BA1)
									   (CAR BA2))
								   (APPLYB (QUOTE OBJ-EQUAL)
									   (QUOTE ALGS)
									   (CDR BA1)
									   (CDR BA2] 
                      SPEC (STRUCTURE-EQUAL) 
                      D-R ((OBJECT OBJECT TRUTH-VAL)) 
                      GUP (PREDICATE) 
                      DEFN [(TYPE NONRECURSIVE OPAQUE (EQUAL BA1 BA2))
			    (TYPE RECURSIVE MALLABLE (COND ((OR (NLISTP BA1)
								(NLISTP BA2))
							    (EQ BA1 BA2))
							   (T (AND (APPLYB (QUOTE OBJ-EQUAL)
									   (QUOTE DEFN)
									   (CAR BA1)
									   (CAR BA2))
								   (APPLYB (QUOTE OBJ-EQUAL)
									   (QUOTE DEFN)
									   (CDR BA1)
									   (CDR BA2] 
                      UP (PREDICATE ACTIVE) 
                      EXS ((BAG)
			   (BAG)
			   T))
  (PUTPROPS ODDS GENL (NUMBER) 
                 WORTH (150 100) 
                 DEFN [(TYPE QUASIRECURSIVE REDUCING-TO EVENS (AND (NUMBERP BA1)
								   (NOT (APPLYB (QUOTE EVENS)
										(QUOTE DEFN)
										BA1] 
                 EXS (5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39) 
                 EXS-BDY (1 3) 
                 EXS-NOT-BDY (0 2 4) 
                 EXS-NOT (8 32) 
                 UP-NOT (ACTIVE))
  (PUTPROPS OSET-STRUC GENL (ORD-OBJ NONMULT-STRUC) 
                       WORTH (300 200 700 50 400 990 900 1000 800 800 1000) 
                       DEFN [(TYPE NONRECURSIVE (AND (LISTP BA1)
						     (EQ (CAR BA1)
							 (QUOTE OSET] 
                       INTU [(CONS (QUOTE OSET)
				   (RAND-SUBSET USERNAMES))
			     (CONS (QUOTE OSET)
				   (RAND-PERMUTE (RAND-SUBSET USERNAMES] 
                       IN-DOM-OF (OSET-STRUC-INSERT FIRST REAR FINAL OSET-STRUC-DELETE OSET-STRUC-INTERSECT) 
                       IN-RAN-OF (OSET-STRUC-DELETE OSET-STRUC-INSERT OSET-STRUC-INTERSECT) 
                       UP (ANY-STRUC) 
                       EXS ((OSET)
			    (OSET A)
			    (OSET B)
			    (OSET A B)
			    (OSET B A)
			    (OSET 2 (VECTOR 3 1)
				  2)) 
                       EXS-BDY ((OSET)) 
                       EXS-NOT-BDY ((OSET A A)
				    (OSET B A B B)
				    (CLASS A B)) 
                       EXS-NOT ((BAG 2 3 3)) 
                       UP-NOT (ACTIVE))
  (PUTPROPS PRIMES GENL (NUMBER) 
                   WORTH (900 700 100 600) 
                   DEFN [(TYPE NONRECURSIVE OPAQUE (AND (NUMBERP BA1)
							(FOR J FROM 2 TO (FIX (SQRT BA1))
							     ALWAYS
							     (NOT (ZEROP (IREMAINDER BA1 J] 
                   EXS (5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 71 73 79 83) 
                   EXS-BDY (2 3) 
                   EXS-NOT-BDY (0 1 4 9) 
                   EXS-NOT (12 15) 
                   UP-NOT (ACTIVE))
  (PUTPROPS SET-OF-BAGS-OF-NUMBERS GENL (SET-OF-STRUCS) 
                                   WORTH (100 10) 
                                   DEFN [(TYPE NONRECURSIVE (EACH-ISA BA1 (QUOTE BAG-OF-NUMBERS] 
                                   IN-RAN-OF (ADD-FACTOR) 
                                   UP-NOT (ACTIVE))
  (PUTPROPS SET-STRUC GENL (UNORD-OBJ NONMULT-STRUC) 
                      WORTH (750 700 700 50 400 990 900 1000 800 800 1000) 
                      DEFN [[TYPE NONRECURSIVE (AND (LISTP BA1)
						    (EQ (CAR BA1)
							(QUOTE CLASS]
			    (TYPE RECURSIVE (COND [(EQUAL BA1 (LIST (QUOTE CLASS]
						  ((NOT (AND (LISTP BA1)
							     (CDR BA1)))
						   NIL)
						  ((APPLYB (QUOTE SET-STRUC)
							   (QUOTE DEFN)
							   (APPLYB (QUOTE STRUCTURE-DELETE)
								   (QUOTE ALGS)
								   (APPLYB (QUOTE STRUCTURE-MEMB)
									   (QUOTE ALGS)
									   NIL
									   (COPY BA1))
								   (COPY BA1] 
                      INTU [(CONS (QUOTE CLASS)
				  (RAND-SUBSET USERNAMES))
			    (CONS (QUOTE CLASS)
				  (RECTANGLE (RAND 0 7)
					     (RAND 0 7)
					     (RAND 0 7)
					     (RAND 0 7] 
                      IN-DOM-OF (SET-STRUC-INSERT SET-STRUC-DELETE SET-STRUC-DIFF SET-STRUC-INTERSECT) 
                      IN-RAN-OF (SET-STRUC-DELETE SET-STRUC-DIFF SET-STRUC-INSERT SET-STRUC-INTERSECT) 
                      SPEC (SET-OF-LISTS SET-OF-STRUCS SINGLETON) 
                      UP (ANY-STRUC) 
                      EXS ((CLASS)
			   (CLASS A)
			   (CLASS B)
			   (CLASS A B)
			   (CLASS 1 2 3)
			   (CLASS 1 2 (CLASS 0))) 
                      EXS-BDY ((CLASS)) 
                      EXS-NOT-BDY ((CLASS B A)
				   (CLASS A A)
				   (OSET A B)
				   (BAG A B)) 
                      EXS-NOT ((VECTOR B A B)) 
                      UP-NOT (ACTIVE))
  (PUTPROPS SINGLETON GENL (SET-STRUC NON-EMPTY-STRUC) 
                      WORTH (400 100 100 200) 
                      DEFN [(TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE STRUCTURE)
								   (QUOTE DEFN)
								   BA1)
							   (CDR BA1)
							   (NULL (CDDR BA1] 
                      FEX (13) 
                      UP-NOT (ACTIVE) 
                      EXS-NOT-BDY ((CLASS)
				   (CLASS A B)
				   (CLASS 1 2 3)
				   (CLASS 1 2 (CLASS 0))) 
                      EXS ((CLASS A)
			   (CLASS B)
			   (CLASS 4)
			   (CLASS 0)
			   (CLASS 1)
			   (CLASS 2)))
  (PUTPROPS SQUARE WORTH (100 100 0 200) 
                   ALGS ((TYPE QUASIRECURSIVE REDUCING-TO MULTIPLY (APPLYB (QUOTE MULTIPLY)
									   (QUOTE ALGS)
									   BA1 BA1))) 
                   D-R ((NUMBER SQUARES)
			(NUMBER NUMBER)) 
                   GENL (MULTIPLY) 
                   DEFN ((TYPE QUASIRECURSIVE REDUCING-TO MULTIPLY (APPLYB (QUOTE MULTIPLY)
									   (QUOTE DEFN)
									   BA1 BA1 BA2))) 
                   INV (INV-SQUARE) 
                   UP (INVERTED-OP ACTIVE) 
                   GUP (INVERTED-OP))
  (PUTPROPS SQUARES GENL (NUMBER) 
                    IN-DOM-OF (INV-SQUARE) 
                    WORTH (200 100) 
                    DEFN [(TYPE NONRECURSIVE OPAQUE (AND (NUMBERP BA1)
							 (EQ BA1 (APPLYB (QUOTE SQUARE)
									 (QUOTE ALGS)
									 (FIX (SQRT BA1] 
                    IN-RAN-OF (SQUARE) 
                    EXS (9 16 25 36 49 64 81 100) 
                    EXS-BDY (0 1 4) 
                    EXS-NOT-BDY (2 3) 
                    EXS-NOT (7 23) 
                    UP-NOT (ACTIVE))
  (PUTPROPS SUBTRACT WORTH (200 100 0 200) 
                     ALGS [(TYPE NONRECURSIVE OPAQUE QUICK (LARGER 0 (IDIFFERENCE BA1 BA2] 
                     D-R ((NUMBER NUMBER NUMBER)) 
                     GUP (OPERATION INVERTED-OP) 
                     UP (OPERATION INVERTED-OP ACTIVE) 
                     DEFN [[TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
								(NUMBERP BA2)
								(EQUAL BA3 (IDIFFERENCE BA1 BA2]
			   (TYPE QUASIRECURSIVE ANALOGY REDUCING-TO BAG-STRUC-DIFF
				 (EQUAL BA3 (APPLYB (QUOTE OBJECT)
						    (QUOTE VIEW)
						    (QUOTE NUMBER)
						    (APPLYB (QUOTE BAG-STRUC-DIFF)
							    (QUOTE ALGS)
							    (APPLYB (QUOTE OBJECT)
								    (QUOTE VIEW)
								    (QUOTE STRUCTURE)
								    BA1)
							    (APPLYB (QUOTE OBJECT)
								    (QUOTE VIEW)
								    (QUOTE STRUCTURE)
								    BA2] 
                     SPEC (DECREMENT) 
                     INV (ADD))
  (NUM-WTS)
  (MAPC NUMCONS (QUOTE NEW-CON))
(DECLARE: DONTCOPY
  (FILEMAP (NIL)))
STOP